package com.example.alarmclock1_8_1011;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    private EditText edit_text;
    private Button get_time, start_btn, end_btn;
    private TextView time_text;
    //    声明两个全局变量
    private CountDownTimer cdt;
    private int t;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        initView();
        setListener();

    }

    //倒数     耗时操作在支 线程   主线程
    private void countDown() {
//      CountDownTimer() 后面要  填入参数 ：第一个参数 ：总时间 ， 第二个参数 ：时间间隔，单位为毫秒
        cdt = new CountDownTimer((t + 1) * 1000, 1000) {
            @Override
            public void onTick(long millisUntilFinished) {//直到完成为止   millisUntilFinished
//                每次计时要做的事情
//                参数millisUntilFinished   代表还剩多少时间 ，单位也是毫秒
//                                 除以1000 =还剩的秒数
                t = (int) millisUntilFinished / 1000;
                time_text.setText(millisUntilFinished / 1000 + "");
            }

            @Override
            public void onFinish() {
//                计时结束要做的事

            }
        };
    }

    private void setListener() {
        get_time.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//                存储到 t 里面
                t = Integer.parseInt(edit_text.getText().toString()); //强制转换  Wrap using 'Integer.parselnt()方法

                time_text.setText(t + "");
                countDown();
            }
        });


//        开始执行
        start_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//                开始倒计时
                countDown();
                cdt.cancel();  //开始之前先停止
                cdt.start();
            }
        });
//       结束倒计时

        end_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//                取消倒计时
                cdt.cancel();
            }
        });
    }

    private void initView() {

        edit_text = findViewById(R.id.edit_text);
        get_time = findViewById(R.id.get_time);
        start_btn = findViewById(R.id.start_btn);
        end_btn = findViewById(R.id.end_btn);
        time_text = findViewById(R.id.time_text);


    }
}